// const express = require('express');
// // 创建app对象
// const app = express();
// // 应⽤⼀些中间件
// app.use(express.json()); // 解析客户端传递过来的json
// // 解析传递过来的urlencoded数据, 默认使⽤的是node的内置querystring模块
// // { extended: true }: 表⽰不再使⽤内置的querystring, ⽽是使⽤qs第三⽅库
// app.use(express.urlencoded({ extended: true })); //解析客户端传递过来的urlencoded数据
// // 编写中间件
// app.post('/login', (req, res, next) => {
//     console.log(req.body);
//     res.end('登录成功, 欢迎回来~');
// });
// // 启动服务器
// app.listen(9000, () => {
//     console.log('express服务器启动成功~');
// });

// const fs = require('fs');
// const express = require('express');
// const morgan = require('morgan');
// // 创建app对象
// const app = express();
// // 应⽤第三⽅中间件
// // 创建⼀个WriteStream，⽤于将⽇志数据写⼊⽂件
// const writeStream = fs.createWriteStream('./logs/access.log', { flags: 'a' });
// // 使⽤morgan将请求⽇志记录到指定⽂件中
// app.use(morgan('combined', { stream: writeStream }));
// // 编写中间件
// app.post('/login', (req, res, next) => {
//     res.end('登录成功, 欢迎回来~');
// });
// // 启动服务器
// app.listen(9000, () => {
//     console.log('express服务器启动成功~');
// });


// const express = require('express');
// const multer = require('multer');
// // 创建app对象
// const app = express();
// // 应⽤⼀个express编写的第三⽅中间件
// // 初始化multer，并指定上传⽂件存放的⽬录
// const upload = multer({ dest: './uploads' });
// // 编写中间件
// // 上传单⽂件: 使⽤multer的single⽅法，处理名为'avatar'的⽂件
// app.post('/avatar', upload.single('avatar'), (req, res, next) => {
//     console.log(req.file); // 打印上传的⽂件信息，例如路径、⼤⼩等
//     res.end('⽂件上传成功~');
// });
// // 启动服务器
// app.listen(9000, () => {
//     console.log('express服务器启动成功~');
// });

// const express = require('express');
// const multer = require('multer');
// // 创建app对象
// const app = express();
// // 配置Multer的存储选项，使⽤⾃定义的diskStorage引擎
// const upload = multer({
//     storage: multer.diskStorage({
//         destination(req, file, callback) {
//             // 指定⽂件存放⽬录
//             callback(null, './uploads');
//         },
//         filename(req, file, callback) {
//             // 定义⽂件保存时的⽂件名, 使⽤当前时间戳+原始⽂件名
//             callback(null, Date.now() + '_' + file.originalname);
//         },
//     }),
// });
// // 单⽂件上传
// app.post('/avatar', upload.single('avatar'), (req, rs, next) => {
//     console.log(req.file); // 打印单个上传⽂件的信息
//     res.end('⽂件上传成功~');
// });
// // 多⽂件上传
// app.post('/photos', upload.array('photos'), (req, res, next) => {
//     console.log(req.files); // 打印多个上传⽂件的信息
//     res.end('上传多张照⽚成功~');
// });
// // 启动服务器
// app.listen(9000, () => {
//     console.log('express服务器启动成功~');
// });

// const express = require('express');
// const multer = require('multer');
// // 创建app对象
// const app = express();
// // 使⽤Express内置的中间件解析JSON和URL编码数据
// app.use(express.json());
// app.use(express.urlencoded({ extended: true }));
// // 设置Multer实例
// const formdata = multer();
// // 编写处理请求体的中间件，使⽤formdata.any()处理任意表单请求数据
// app.post('/login', formdata.any(), (req, res, next) => {
//     console.log(req.body); // 打印请求体中解析的普通数据
//     res.end('登录成功, 欢迎回来~');
// });
// // 启动服务器
// app.listen(9000, () => {
//     console.log('express服务器启动成功~');
// });

// const express = require('express');
// // 创建app对象
// const app = express();
// // 1. 解析queryString
// app.get('/home/list', (req, res, next) => {
//     // 从URL中解析offset和size
//     const queryInfo = req.query; // 通过req.query获取查询字符串中的参数对象
//     console.log(queryInfo);
//     res.end('data list数据');
// });
// // 2. 解析params参数
// app.get('/users/:id', (req, res, next) => {
//     const id = req.params.id; // 从req.params中提取路径参数
//     res.end(`获取到${id}的数据~`);
// });
// // 启动服务器
// app.listen(9000, () => {
//     console.log('express服务器启动成功~');
// });

// const express = require('express');
// // 创建app对象
// const app = express();
// // 编写中间件⽤于处理/login路由的POST请求
// app.post('/login', (req, res, next) => {
//     // 1. 使⽤res.end⽅法（较少使⽤）
//     // res.end('登录成功, 欢迎回来~');
//     // 2. 使⽤res.json⽅法（最常⽤）
//     // 返回JSON格式的数据
//     res.json({
//         code: 0,
//         message: '欢迎回来~',
//         list: [
//             { name: 'iPhone', price: 111 },
//             { name: 'iPad', price: 111 },
//             { name: 'iMac', price: 111 },
//             { name: 'Mac', price: 111 },
//         ]
//     });
//     // 3. 使⽤res.status⽅法设置HTTP状态码，结合res.json
//     res.status(201); // 设置状态码为201（资源已创建）
//     res.json('创建⽤户成功~'); // 返回信息
// });
// // 启动服务器
// app.listen(9000, () => {
//     console.log('express服务器启动成功~');
// });


// const express = require('express');
// const userRouter = require('./router/userRouter');
// // 创建app对象
// const app = express();
// // 编写中间件
// app.post('/login', (req, res, next) => {
//     // 登录逻辑
// });
// app.get('/home', (req, res, next) => {
//     // ⾸⻚逻辑
// });
// // 使⽤⽤户路由器
// app.use('/users', userRouter);
// // 启动服务器
// app.listen(9000, () => {
//     console.log('express服务器启动成功~');
// });


const express = require('express');
// 创建app对象
const app = express();
// 使⽤内置的中间件将⽂件夹做为静态资源
// 此设置使得`uploads`⽬录和`build`⽬录中的⽂件可以被客户端直接访问
app.use(express.static('./uploads'));
app.use(express.static('./build'));
// ⽰例路由中间件
app.post('/login', (req, res, next) => {
    // 登录逻辑
});
// 启动服务器
app.listen(9000, () => {
    console.log('express服务器启动成功~');
});





